﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="dsk_sakura.css" type="text/css">
<link rel="shortcut icon" href="images/favicon.ico">
<TITLE>WSHマクロとPPAマクロ</TITLE>
<META NAME="MS-HKWD" CONTENT="WSHマクロとPPAマクロ">
<META NAME="MS-HKWD" CONTENT="Editorオブジェクト">
</HEAD>
<BODY>
<script type="text/javascript" src="item.js"></script>
<noscript>[<a href="HLP000001.html">目次</a>]<br></noscript>
<h2>WSHマクロとPPAマクロ</h2>
ここでは、WSHとPPAそれぞれの情報を記載してあります。<br>

<h3>WSHマクロ(JScrpt/VBScript等)</h3>
WSHがインストールされている必要があります。<br>
WSHとはWindows Scripting Host の略で、Windows98 以降であれば、標準でインストールされています。<br>
<br>
エディタを操作するためのオブジェクトは Editor です。メソッド名及びその引数はキーマクロと同じです。<br>
オブジェクトは省略しても動作しますが、<strong>Editor.関数名</strong>(言語依存)のようにオブジェクト名を付けることを推奨します。<br>
<br>
WScript オブジェクトは wscript.exe/cscript.exe が内蔵しているためサクラエディタでは使えません。<br>
任意のActiveXオブジェクト(WScript.Shell等)は、VBScriptならCreateObject、JScriptならActiveXObjectで取得して使ってください。<br>
また、サクラエディタのEditorなどのオブジェクトを WScript.exe などから利用することはできません。<br>
<br>
.vbs, .jsの他、追加のエンジンをインストールしていれば、それも使えることがあります。<br>
しかしながら、エディタ側の問題で、正常に動作しない環境や、エンジンがあるようです。<br>
<br>
<img alt="hint" src="images/hint.png" /><br>
マクロの実行に<strong>WSH</strong>を使用できるようになりました。(sakura:1.3.3.0以降)<br>
Windows95系OSでWSHが一応動くようになりました。(sakura:1.4.3.4以降)<br>
VBScriptからMsgBox, Inputが使用できるようになりました。(sakura:1.5.7.0以降)<br>

<h3>PPAマクロ</h3>
●PPA.DLL<br>
PPA.DLLが必要です。PPA ではマクロで制御構文や変数が利用できます。<br>
<br>
ダウンロードは以下のサイトから可能です。<br>
<div class="li200">
<a href="http://ht-deko.minim.ne.jp/junkbox.html#PPA" target="_blank" rel="noopener">http://ht-deko.minim.ne.jp/junkbox.html#PPA</a><br>
</div>

サクラエディタのマクロ関数は、「<strong>S_関数名</strong>」と、S_をつけてください。<br>
<br>
「(省略可能)」と書かれている引数もPPAでは省略することができません。<br>
そのため、サクラエディタのバージョンが変更されると、引数の数が一致せずエラーになることがあります。<br>
<br>
(sakura 2.0.0.0以降)サクラエディタは内部文字列をUnicodeで保持しています。<br>
しかしPPAに引数・戻り値として設定される文字列はSJISに変換されるため、SJISに含まれない文字列は扱えません。<br>
<a href="HLP000288.html">S_Char/S_CharIme関数</a>の引数はinteger型として扱われるため、例外的にUnicodeコードポイントで指定します。<br>
<br>
PPAでは、デバッグ用文字列型変数<strong>UserErrorMes</strong>を利用できます。<br>
この変数に書き込んでおくと、PPAがエラーを返したときに表示されるメッセージボックスに、この変数の内容も表示されます。(sakur:1.4.2.0以降)<br>
<br>
IsDefine( 'sakura-editor' );<br>
を利用すると、マクロを実行しているのがサクラエディタかどうか判別できます。(sakura:1.4.2.0以降)<br>
<br>
<br>
PPAでは、文字列型の中にNULを含める事ができません。選択文字列にNULが含まれていた場合は、NULの手前までしかアクセスできません。<br>
<br>
<img alt="hint" src="images/hint.png" />ヒント<br>
PPAのマクロ中では $41 などの 16進数表記や変数・数式・関数の使用も可能です。<br>
文字列はシングルクォーテーションで括り、シングルクォーテーション文字そのものは '' と記述します。\ という文字は \ のままです。<br>
<br>
<img alt="hint" src="images/hint.png" />マクロの実行に<strong>PPA.DLL</strong>を使用できるようになりました。PPA.DLL ver1.0以上が必要です。(sakura:1.2.106.1 以降)<br>
sakura:1.4.2.0以降では、PPA.DLL ver1.23 以上である必要があります。<br>
<br>
</BODY></HTML>
